/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Operation Records APIs
Anti DDoS Protection Package Operation Records APIs

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef AntiproApiModel_h
#define AntiproApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKAntipro/AntiproModel.h>


@interface AntiproDescribeCcsIpResourcesRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface AntiproDescribeCpsIpResourcesRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface AntiproDescribeElasticIpResourcesRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface AntiproDescribeAttackTypeCountRequest:JDCloudRequest

/// 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 结束时间, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
/// DDoS 防护包已防护的公网 IP
   /// - 使用 &lt;a href&#x3D;&quot;http://docs.jdcloud.com/anti-ddos-protection-package/api/describeprotectediplist&quot;&gt;describeProtectedIpList&lt;/a&gt; 接口查询 DDoS 防护包已防护的公网 IP
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ip;
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

@end

@interface AntiproDescribeAttackStatisticsRequest:JDCloudRequest

/// 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 结束时间, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
/// DDoS 防护包已防护的公网 IP
   /// - 使用 &lt;a href&#x3D;&quot;http://docs.jdcloud.com/anti-ddos-protection-package/api/describeprotectediplist&quot;&gt;describeProtectedIpList&lt;/a&gt; 接口查询 DDoS 防护包已防护的公网 IP
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ip;
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

@end

@interface AntiproDescribeAttackStatisticsResult : NSObject
/// 攻击次数
 @property (strong,nonatomic,nonnull)  NSNumber*  attackCount;
/// 黑洞次数
 @property (strong,nonatomic,nonnull)  NSNumber*  blackHoleCount;
/// 攻击流量峰值
 @property (strong,nonatomic,nonnull)  NSNumber*  peak;
/// 攻击流量单位
 @property (strong,nonatomic,nonnull)  NSString*  unit;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithAttackCount:(NSNumber*) attackCount

    blackHoleCount:(NSNumber*)blackHoleCount

    peak:(NSNumber*)peak

    unit:(NSString*)unit;
@end

@interface AntiproDescribeAttackSourceResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  data;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(NSArray<NSString*>*) data;
@end

@interface AntiproDescribeIpMonitorFlowRequest:JDCloudRequest

/// 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式：yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 查询的结束时间, UTC 时间, 格式：yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// DDoS 防护包已防护的公网 IP
   /// - 使用 &lt;a href&#x3D;&quot;http://docs.jdcloud.com/anti-ddos-protection-package/api/describeprotectediplist&quot;&gt;describeProtectedIpList&lt;/a&gt; 接口查询 DDoS 防护包已防护的公网 IP
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ip;
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
ip:(NSArray<NSString*>*)ip;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
ip:(NSArray<NSString*>*)ip;

@end

@interface AntiproDescribeAttackLogsRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
/// DDoS 防护包已防护的公网 IP
   /// - 使用 &lt;a href&#x3D;&quot;http://docs.jdcloud.com/anti-ddos-protection-package/api/describeprotectediplist&quot;&gt;describeProtectedIpList&lt;/a&gt; 接口查询 DDoS 防护包已防护的公网 IP
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ip;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
instanceId:(NSString*)instanceId
ip:(NSArray<NSString*>*)ip;

@end

@interface AntiproDescribeAttackSourceRequest:JDCloudRequest

/// DDoS 防护包已防护的公网 IP
   /// - 使用 &lt;a href&#x3D;&quot;http://docs.jdcloud.com/anti-ddos-protection-package/api/describeprotectediplist&quot;&gt;describeProtectedIpList&lt;/a&gt; 接口查询 DDoS 防护包已防护的公网 IP
   /// 
@property (strong,nonatomic,nonnull)  NSString*  ip;
/// 攻击记录 Id
@property (strong,nonatomic,nonnull)  NSString*  attackLogId;
-(id) initWithRegion:(NSString *)regionId
ip:(NSString*)ip
attackLogId:(NSString*)attackLogId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ip:(NSString*)ip
attackLogId:(NSString*)attackLogId;

@end

@interface AntiproDescribeProtectionRuleRequest:JDCloudRequest

/// 被防护 IP, 缺省时获取防护包实例的防护规则
@property (strong,nonatomic,nonnull)  NSString*  ip;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
ip:(NSString*)ip
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ip:(NSString*)ip
instanceId:(NSString*)instanceId;

@end

@interface AntiproDescribeInstancesRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 防护包名称, 支持模糊匹配
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name;

@end

@interface AntiproAddProtectedIpResult : NSObject
/// 添加防护 IP 结果, 0: 添加失败, 1: 添加成功
 @property (strong,nonatomic,nonnull)  NSNumber*  code;
/// 添加失败时给出具体原因
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCode:(NSNumber*) code

    message:(NSString*)message;
@end

@interface AntiproModifyInstanceNameResult : NSObject
/// 修改结果, 0: 修改失败, 1: 修改成功
 @property (strong,nonatomic,nonnull)  NSNumber*  code;
/// 修改失败时给出具体原因
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCode:(NSNumber*) code

    message:(NSString*)message;
@end

@interface AntiproDescribeProtectedIpListRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 实例 Id, 缺省时查询用户所有已防护 IP
@property (strong,nonatomic,nonnull)  NSNumber*  instanceId;
/// 被防护 IP类型: 0: 全部, 1: 弹性公网 IP, 2: 云物理服务器公网 IP, 4: 托管区公网 IP
@property (strong,nonatomic,nonnull)  NSNumber*  type;
/// 被防护 IP, 支持模糊查询
@property (strong,nonatomic,nonnull)  NSString*  ip;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
instanceId:(NSNumber*)instanceId
type:(NSNumber*)type
ip:(NSString*)ip;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
instanceId:(NSNumber*)instanceId
type:(NSNumber*)type
ip:(NSString*)ip;

@end

@interface AntiproDeleteProtectedIpResult : NSObject
/// 删除防护 IP 结果, 0: 删除失败, 1: 删除成功
 @property (strong,nonatomic,nonnull)  NSNumber*  code;
/// 删除失败时给出具体原因
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCode:(NSNumber*) code

    message:(NSString*)message;
@end

@interface AntiproCheckInstanceNameResult : NSObject
/// 检测结果 code, 0: 不可用, 1: 可用
 @property (strong,nonatomic,nonnull)  NSNumber*  code;
/// 检测结果, 不可用时给出具体原因
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCode:(NSNumber*) code

    message:(NSString*)message;
@end

@interface AntiproDescribeInstanceRequest:JDCloudRequest

/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface AntiproModifyInstanceResult : NSObject
/// 升级的防护包实例 Id
 @property (strong,nonatomic,nonnull)  NSString*  instanceId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceId:(NSString*) instanceId;
@end

@interface AntiproModifyProtectionRuleResult : NSObject
/// 修改防护规则结果, 0: 修改失败, 1: 修改成功
 @property (strong,nonatomic,nonnull)  NSNumber*  code;
/// 修改失败时给出具体原因
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCode:(NSNumber*) code

    message:(NSString*)message;
@end

@interface AntiproCreateInstanceResult : NSObject
/// 创建的防护包实例 Id
 @property (strong,nonatomic,nonnull)  NSString*  instanceId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceId:(NSString*) instanceId;
@end

@interface AntiproCheckInstanceNameRequest:JDCloudRequest

/// 待检测实例名称, 长度限制为 1-80 个字符, 只允许包含中文, 字母, 数字, -, ., /, _
@property (strong,nonatomic,nonnull)  NSString*  instanceName;
-(id) initWithRegion:(NSString *)regionId
instanceName:(NSString*)instanceName;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceName:(NSString*)instanceName;

@end

@interface AntiproDescribeOperationRecordsRequest:JDCloudRequest

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 开始时间, UTC 时间, 格式：yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 结束时间, UTC 时间, 格式：yyyy-MM-dd&#39;T&#39;HH:mm:ssZ
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 操作类型, 默认查全部.
   /// - 0: 全部
   /// - 1: 套餐变更
   /// - 2: 防护规则变更
   /// - 3: 防护对象变更
   /// - 4: IP 地址变更
   /// - 5: 防护包名称变更
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  action;
/// 防护包名称, 支持模糊匹配
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
action:(NSNumber*)action
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
action:(NSNumber*)action
name:(NSString*)name;

@end

@interface AntiproDescribeCpsIpResourcesResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<IpResource*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<IpResource*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeCpsIpResourcesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeCpsIpResourcesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeCpsIpResourcesResult*) result;
@end

@interface AntiproDescribeCcsIpResourcesResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<IpResource*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<IpResource*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeElasticIpResourcesResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<IpResource*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<IpResource*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeElasticIpResourcesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeElasticIpResourcesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeElasticIpResourcesResult*) result;
@end

@interface AntiproDescribeCcsIpResourcesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeCcsIpResourcesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeCcsIpResourcesResult*) result;
@end

@interface AntiproDescribeIpMonitorFlowResult : NSObject
/// Bps
 @property (strong,nonatomic,nonnull)  IpResourceFlow*  bps;
/// Pps
 @property (strong,nonatomic,nonnull)  IpResourceFlow*  pps;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBps:(IpResourceFlow*) bps

    pps:(IpResourceFlow*)pps;
@end

@interface AntiproDescribeIpMonitorFlowResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeIpMonitorFlowResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeIpMonitorFlowResult*) result;
@end

@interface AntiproDescribeAttackSourceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeAttackSourceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeAttackSourceResult*) result;
@end

@interface AntiproDescribeAttackLogsResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<AttackLog*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<AttackLog*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeAttackStatisticsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeAttackStatisticsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeAttackStatisticsResult*) result;
@end

@interface AntiproDescribeAttackTypeCountResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<AttackTypeCount*>*  dataList;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<AttackTypeCount*>*) dataList;
@end

@interface AntiproDescribeAttackTypeCountResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeAttackTypeCountResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeAttackTypeCountResult*) result;
@end

@interface AntiproDescribeAttackLogsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeAttackLogsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeAttackLogsResult*) result;
@end

@interface AntiproDescribeProtectedIpListResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<ProtectedIp*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<ProtectedIp*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeProtectedIpListResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeProtectedIpListResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeProtectedIpListResult*) result;
@end

@interface AntiproDescribeProtectionOutlineRequest:JDCloudRequest

@end

@interface AntiproModifyProtectionRuleRequest:JDCloudRequest

/// 修改防护规则请求参数
@property (strong,nonatomic,nonnull)  ProtectionRuleSpec*  protectionRuleSpec;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
protectionRuleSpec:(ProtectionRuleSpec*)protectionRuleSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
protectionRuleSpec:(ProtectionRuleSpec*)protectionRuleSpec
instanceId:(NSString*)instanceId;

@end

@interface AntiproModifyInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproModifyInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproModifyInstanceResult*) result;
@end

@interface AntiproDescribeProtectionRuleResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  ProtectionRule*  data;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(ProtectionRule*) data;
@end

@interface AntiproDescribeInstanceResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  Instance*  data;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(Instance*) data;
@end

@interface AntiproDescribeInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeInstanceResult*) result;
@end

@interface AntiproDescribeInstancesResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<Instance*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<Instance*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeInstancesResult*) result;
@end

@interface AntiproModifyInstanceRequest:JDCloudRequest

/// 升级防护包实例请求参数
@property (strong,nonatomic,nonnull)  ModifyInstanceSpec*  modifyInstanceSpec;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
modifyInstanceSpec:(ModifyInstanceSpec*)modifyInstanceSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
modifyInstanceSpec:(ModifyInstanceSpec*)modifyInstanceSpec
instanceId:(NSString*)instanceId;

@end

@interface AntiproAddProtectedIpRequest:JDCloudRequest

/// 添加防护包防护 IP 请求参数
@property (strong,nonatomic,nonnull)  ProtectedIpSpec*  protectedIpSpec;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
protectedIpSpec:(ProtectedIpSpec*)protectedIpSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
protectedIpSpec:(ProtectedIpSpec*)protectedIpSpec
instanceId:(NSString*)instanceId;

@end

@interface AntiproDescribeProtectionOutlineResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  ProtectionOutline*  data;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(ProtectionOutline*) data;
@end

@interface AntiproCreateInstanceRequest:JDCloudRequest

/// 创建防护包实例请求参数
@property (strong,nonatomic,nonnull)  CreateInstanceSpec*  createInstanceSpec;
-(id) initWithRegion:(NSString *)regionId
createInstanceSpec:(CreateInstanceSpec*)createInstanceSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
createInstanceSpec:(CreateInstanceSpec*)createInstanceSpec;

@end

@interface AntiproAddProtectedIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproAddProtectedIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproAddProtectedIpResult*) result;
@end

@interface AntiproDescribeGeoAreasResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<Country*>*  dataList;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<Country*>*) dataList;
@end

@interface AntiproCheckInstanceNameResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproCheckInstanceNameResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproCheckInstanceNameResult*) result;
@end

@interface AntiproDeleteProtectedIpRequest:JDCloudRequest

/// 删除防护包防护 IP 请求参数
@property (strong,nonatomic,nonnull)  ProtectedIpSpec*  protectedIpSpec;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
protectedIpSpec:(ProtectedIpSpec*)protectedIpSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
protectedIpSpec:(ProtectedIpSpec*)protectedIpSpec
instanceId:(NSString*)instanceId;

@end

@interface AntiproModifyInstanceNameRequest:JDCloudRequest

/// 修改防护包实例名称请求参数
@property (strong,nonatomic,nonnull)  ModifyInstanceNameSpec*  modifyInstanceNameSpec;
/// 防护包实例 Id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
modifyInstanceNameSpec:(ModifyInstanceNameSpec*)modifyInstanceNameSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
modifyInstanceNameSpec:(ModifyInstanceNameSpec*)modifyInstanceNameSpec
instanceId:(NSString*)instanceId;

@end

@interface AntiproDescribeProtectionOutlineResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeProtectionOutlineResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeProtectionOutlineResult*) result;
@end

@interface AntiproModifyProtectionRuleResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproModifyProtectionRuleResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproModifyProtectionRuleResult*) result;
@end

@interface AntiproModifyInstanceNameResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproModifyInstanceNameResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproModifyInstanceNameResult*) result;
@end

@interface AntiproDescribeGeoAreasRequest:JDCloudRequest

@end

@interface AntiproDeleteProtectedIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDeleteProtectedIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDeleteProtectedIpResult*) result;
@end

@interface AntiproDescribeGeoAreasResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeGeoAreasResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeGeoAreasResult*) result;
@end

@interface AntiproDescribeProtectionRuleResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeProtectionRuleResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeProtectionRuleResult*) result;
@end

@interface AntiproCreateInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproCreateInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproCreateInstanceResult*) result;
@end

@interface AntiproDescribeOperationRecordsResult : NSObject
/// DataList
 @property (strong,nonatomic,nonnull)  NSArray<OperationRecord*>*  dataList;
/// 当前页数量
 @property (strong,nonatomic,nonnull)  NSNumber*  currentCount;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// 总页数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDataList:(NSArray<OperationRecord*>*) dataList

    currentCount:(NSNumber*)currentCount

    totalCount:(NSNumber*)totalCount

    totalPage:(NSNumber*)totalPage;
@end

@interface AntiproDescribeOperationRecordsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property AntiproDescribeOperationRecordsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(AntiproDescribeOperationRecordsResult*) result;
@end

#endif /* AntiproApiModel_h */
